#include <iostream>
#include <algorithm>
#include <string>
#include <cstdio>
#include <vector>
#include <stack>
#include <queue>
#include <set>
using namespace std;
void Qsort(vector<int> &arr, int l, int r)
{
    if (l >= r)
        return;
    swap(arr[(l + r) / 2], arr[r]);
    int i = l - 1, pivot = arr[r];
    for (int j = l; j < r; ++j)
    {
        if (arr[j] < pivot)
            swap(arr[++i], arr[j]);
    }
    swap(arr[i + 1], arr[r]);
    Qsort(arr, l, i);
    Qsort(arr, i + 2, r);
}
int main()
{
    vector<int> arr = {0, 2, 3, 1, 2, 4, 6, 74, 3, 2, 1, 3, 4, 5, 67, 0};
    for (auto &it : arr)
    {
        printf(" %d", it);
    }
    Qsort(arr, 0, arr.size() - 1);
    cout << endl;
    for (auto &it : arr)
    {
        printf(" %d", it);
    }
    return 0;
};